Traditional drawing programs provide the capability of creating polygonal objects made up of straight line segments, such as the polygon that is illustrated in FIG. 1A. These and other drawing programs may also provide the capability of creating freehand objects made up of one or more potentially curry freehand segments, such as the freehand object shown in FIG. 1B. Conventionally, in a system that allows either type of object, to create a polygonal object the user must select a polygonal object mode, and to create a freehand object the user must select a freehand object mode.
In such a conventional environment, however, it has typically not been possible to create a "freeform" object. A freeform object is defined herein to refer to an object which is a mixture of both straight line polygonal segments and curvy line freehand segments, such as that shown in FIG. 5. This is because, in a traditional cursor-driven computer graphics system, the system must be able to determine whether to interpret mouse movement between two points as an attempt to create either a polygonal segment or a freehand segment. For example, in polygonal object mode, the computer graphics system interprets the mouse movement shown in FIG. 2 as a request to draw straight lines between the beginning and ending cursor positions. Accordingly, a computer graphics system would create straight line polygonal segments to form a polygonal object shown in FIG. 1A.
Alternatively, a freehand object mode has been necessary for the computer graphics system to interpret a mouse movement such as that shown in FIG. 2 as a request to draw a curvy line along the approximate path of the cursor movement. Accordingly, the computer graphics system would create curvy segments corresponding to the cursor movement to create the freehand object shown in FIG. 1B.
Thus, computer graphics systems conventionally require that either a polygonal or freehand mode be designated for the creation of an entire object. In such a system, freeform data objects made up of a mixture of polygonal and freehand segments, such as that shown in FIG. 5, could not be created. The freeform object in FIG. 5 includes both polygonal segments 502, 504 and freehand segments 506, 508 in the same drawing object.
Although a user might emulate the shape shown in FIG. 5 by creating multiple objects separately, such as polylines 502, 504 in polygonal mode, and freehand lines 506, 508 in freehand mode, the resulting shape would not, without some form of additional and time-consuming manipulation, take on the characteristics normally attributable to a single graphic data object. The capability of treating a shape as a single data object is, of course, a valuable computer graphics application. For example, a shape when treated as a single object can be filled, moved or sized as an entity. Further, it is important to obtain the graphic data object quickly and efficiently, within a continuous mode. Therefore, the instantaneous combination, within a continuous mode, of polygonal and freehand segments in a single drawing object, is a desirable feature in a computer graphics system.